package com.ruoyi.student.mapper;

import java.util.List;
import com.ruoyi.student.domain.Student;
import com.ruoyi.student.domain.Course;

/**
 * 学生列表Mapper接口
 * 
 * @author 核桃
 * @date 2023-11-11
 */
public interface StudentMapper 
{
    /**
     * 查询学生列表
     * 
     * @param stuid 学生列表主键
     * @return 学生列表
     */
    public Student selectStudentByStuid(Long stuid);

    /**
     * 查询学生列表列表
     * 
     * @param student 学生列表
     * @return 学生列表集合
     */
    public List<Student> selectStudentList(Student student);

    /**
     * 新增学生列表
     * 
     * @param student 学生列表
     * @return 结果
     */
    public int insertStudent(Student student);

    /**
     * 修改学生列表
     * 
     * @param student 学生列表
     * @return 结果
     */
    public int updateStudent(Student student);

    /**
     * 删除学生列表
     * 
     * @param stuid 学生列表主键
     * @return 结果
     */
    public int deleteStudentByStuid(Long stuid);

    /**
     * 批量删除学生列表
     * 
     * @param stuids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStudentByStuids(Long[] stuids);

    /**
     * 批量删除${subTable.functionName}
     * 
     * @param stuids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCourseByStuIds(Long[] stuids);
    
    /**
     * 批量新增${subTable.functionName}
     * 
     * @param courseList ${subTable.functionName}列表
     * @return 结果
     */
    public int batchCourse(List<Course> courseList);
    

    /**
     * 通过学生列表主键删除${subTable.functionName}信息
     * 
     * @param stuid 学生列表ID
     * @return 结果
     */
    public int deleteCourseByStuId(Long stuid);
}
